PostgreSQL
Quest Data Modeler supports PostgreSQL 16 as a target database. This topic documents PostgreSQL‑specific objects, data types, and reverse and forward engineering options.
Supported Data Types
| Category | Datatypes |
|---|---|
| Numeric Data Types |
|
| Monetary Data Types |
|
| Character Data Types |
|
| Binary Data Types |
|
| Boolean Data Types |
|
| Date and Time Data Types |
|
| Geometric Data Types |
|
| Network Address Types |
|
| Bit String Types |
|
| Text Search Types |
|
| UUID Type |
|
| XML Type |
|
| JSON Type |
|
| pg_Isn Type |
|
| Other Datatypes |
|
| Composite Types |
|
| Range Types |
|
Supported Objects
The following section outlines the objects supported for PostgreSQL.
Note: You can use the Ctrl+Z and Ctrl+Y keyboard shortcuts to undo and redo changes in any property field.
Access Methods
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | Access Method Options | Name | Specifies the name of the access method | |
| Generate | Specifies whether a SQL statement for the access method is generated during forward engineering | |||
| Access Method Type | Specifies the type of table access method | Index: Indicates that the access method divides the index into standard-size pages, enabling users to access the index contents using the regular storage manager and buffer manager
Table: Indicates the technique for retrieving and manipulating data within database tables |
||
| Handler Function | Specifies the name of a previously registered function (optionally schema-qualified) that implements the access method | Set up the handler function to accept single argument type, and its return depends on the access method used. For example, for TABLE access methods, it must return as table_am_handler, and for INDEX access methods, it must return as index_am_handler. |
Annotations
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the annotation | ||
| Type | Specifies the type of the annotation | Available types include Cross, Diamond, Ellipse, Hexagon, and others, | ||
| Physical Only | Indicates whether the annotation applies only to the physical model | |||
| Text Editor | Specifies the text in an annotation | Use it to add or edit text in an annotation. | ||
| Definition | Specifies annotation description or business meaning | Use |
Casts
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | Cast Options | Name | Specifies the name of the cast | |
| Source Data Type | Specifies the source data type of the cast | |||
| Target Data Type | Specifies the target data type of the cast | |||
| Cast Type | Specifies the type of the cast |
With Function: Indicates to perform conversion between two data types Without Function: Indicates that the source type is binary-coercible to the target type without needing a function to handle the cast With Inout: Indicates that the cast is an I/O conversion cast. This is handled by calling the output function of the source data type and passing the resulting string to the input function of the target data type. |
||
| Function | Specifies the name of the function used to perform the cast | |||
| Invoke Type | Specifies the type of invoke |
As Assignment: Indicates that the cast can be automatically applied in assignment contexts As Implicit: Indicates that the cast can be automatically applied in any context |
||
| Generate | Specifies whether a SQL statement for the cast is generated during forward engineering |
Collations
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | General Options | Name | Specifies the name of the collation | |
| Schema | Specifies the schema options for the schema generation | Select the schema from the drop-down list. | ||
| If Not Exists | Specifies that if the collation already exists, no exception is thrown, and no action happens | |||
| Generate | Specifies whether a SQL statement for the collation is generated during forward engineering | |||
| Locale | Specifies the local name of the collation | This shortcut simultaneously sets LC_COLLATE and LC_CTYPE. If you use this option, you cannot individually specify either parameter. | ||
| LC_Collate | Specifies that the LC_COLLATE locale category should use the specified operating system locale. The locale must apply to the current database encoding. | |||
| LC_CType | Specifies that the LC_CTYPE locale category should use the specified operating system locale. The locale must apply to the current database encoding. | |||
| Provider | Specifies the provider to use for locale services associated with this collation. Possible values are Icu (if the server was built with ICU support) or Libc. |
Icu: Indicates the advanced, consistent, and locale-aware collation rules based on Unicode, suitable for diverse and multi-language sorting. Libc: Indicates the collation rules based on the operating system's C library, with behavior that can vary and may be less flexible compared to ICU. |
||
| ICU Rules | Specifies additional collation rules to customize the behavior of the collation. The ICU only supports this feature. | |||
| Version | Specifies the version string to store with the collation | |||
| Copy Options | Copy Collation | Specifies the name of an existing collation to copy. The new collation will have the same properties as the existing one but will be an independent object. |
Database Roles
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the database role name | ||
| Type | Specifies the type of role | Role, User, Group: Specifies a database role type | ||
| Generate | Specifies whether a SQL statement for the role is generated during forward engineering | |||
| Use Replace Syntax | Indicates whether replace syntax is used | |||
| General Options | Superuser | Specifies whether the role is a superuser. A Superuser can override all access restrictions within the database. | TRUE: Indicates that the role is superuser FALSE: Indicates that the role is non-superuser |
|
| Can Create DB | Specifies the role's ability to create databases. Specifying CREATEDB allows a role to create new databases. | TRUE: Indicates that the role is allowed to create a database FALSE: Indicates that the role is not allowed to create a database |
||
| Can Create Roles | Specifies whether a role can create, alter, drop, comment on, and change the security label for other roles | TRUE: Indicates that the role can create other roles FALSE: Indicates that the role cannot create other roles |
||
| Inherits rights from parent roles | Specifies whether a role "inherits" the privileges of roles it is a member of | TRUE: Indicates to automatically inherit the privileges of any roles it is a member of FALSE: Indicates that the privileges of any roles are not automatically inherited |
||
| Can login | Specifies whether a role is allowed to log in and can be used as the initial session authorization name during client connection | TRUE: Indicates that the role is allowed to log in FALSE: Indicates that the role is not allowed to log in |
||
| Can initiate replication | Specifies whether a role can initiate streaming replication or put the system in and out of backup mode | TRUE: Indicates that the role is allowed to initiate replication FALSE: Indicates that the role is not allowed to initiate replication |
||
| Bypass Row-Level Security | Specifies whether a role can bypass every row-level security (RLS) policy. The default is NOBYPASSRLS. | TRUE: Specifies whether a role bypasses every row-level security (RLS) policy. Only superuser roles or roles with BYPASSRLS can specify this. FALSE: Specifies that a role does not bypass every RLS policy |
||
| Connection Limit | Specifies how many concurrent connections the role can make. -1 (the default) indicates that there is no limit. | |||
| Valid Until | Sets a date and time after which the role's password is no longer valid. If omitted, the password remains valid for all time. | |||
| SysID | Specifies that the SYSID clause is ignored but accepted for backward compatibility | |||
| Member Of | Automatically adds the new role as a member of the specified existing roles | Name: Specifies the database role name With Admin Option: Specifies whether the selected role has administrative privileges | ||
|
Members |
Automatically adds one or more specified existing roles as members to enable the SET option | Name: Specifies the database role name With Admin Option: Specifies whether the selected role has administrative privileges |
Databases
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the database | ||
| Generate | Specifies whether a SQL statement for the database is generated during forward engineering | |||
| Properties | Database Options | Owner | Specifies the owner of the database | |
| Template | Specifies the name of the template from which a new database is created, or enter DEFAULT to use the default template | |||
| Encoding | Specifies the character set encoding to use in the new database | |||
| Strategy | Specifies the strategy used in creating the new database | WAL_LOG: Indicates that the database copies block by block, and each block writes separately to the write-ahead log. FILE_COPY: Indicates that the strategy writes a small record to the write-ahead log for each target database's tablespace. |
||
| Locale | Specifies the default collation order and character classification in the new database | |||
| LC_Collate | Sets LC_COLLATE in the database server's operating system environment | |||
| LC_CType | Sets LC_CTYPE in the database server's operating system environment | |||
| ICU Locale | Specifies the ICU locale for the database default collation order and character classification, overriding the default | |||
| ICU Rules | Specifies the additional collation rules to customize this database's default collation behavior | |||
| Provider | Specifies the provider to use a default collation in this database | Icu: Specifies advanced, consistent, and locale-aware collation rules based on Unicode, suitable for diverse and multi-language sorting Libc: Specifies collation rules based on the operating system's C library |
||
| Version | Specifies the collation version string to store with the database | |||
| Tablespace | Specifies the name of the tablespace associated with the new database. This tablespace will be the default tablespace used for objects created in this database. | |||
| Allow Connections | Specifies whether to restrict access to the database | |||
| Connection Limit | Specifies the number of concurrent connections to the database. The default value is -1, which is unlimited. | |||
| Is Template | Specifies the database cloning privileges for a user | True: Indicates that users with CREATEDB privileges can clone the database False: Indicates that only superusers or the owner of the database can clone it |
||
| OID | Specifies the object identifier used for the new database | If not specified, PostgreSQL will automatically choose a suitable OID. |
Datatype Standards
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the datatype standard | ||
| Is Active | Indicates whether the datatype standard is enabled for use | |||
| Logical Definition | Datatype | Specifies the logical datatype definition | ||
| Domain | Specifies the domain associated with the datatype | |||
| Length | Specifies the length of the datatype | |||
| Precision | Specifies the precision of numeric datatypes | |||
| Mapping | Name | Specifies the name of the datatype mapping | ||
| From | Specifies the source datatype | |||
| To | Specifies the target datatype | |||
| Definition | Specifies the detailed description or business meaning of the datatype standard | Use |
Default Values
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties | Name | Specifies the name of the default value | |
| Physical Only | Indicates whether the default value applies only to the physical model | |||
| Logical Only | Indicates whether the default value applies only to the logical model | |||
| <Default Value Name> Properties | Name | |||
| Physical Name | Specifies the physical name used in the database | |||
| Value | Specifies the default value assigned to the object |
Domains
| Tab | Section | Property | Description | Additional Information | |
|---|---|---|---|---|---|
| Properties | Name | Specifies the name of the domain | |||
| Physical Name | Specifies the physical name of the domain | ||||
| Harden Strategy | Specifies several parameters and practices aimed at enhancing security and reliability | Inherit: Specifies to inherit the domain physical name Override: Specifies to override inheritance for the domain physical name Harden: Specifies to harden the domain physical name |
|||
| Domain Parent | Lets you select a domain from the list and attach it to the selected domain as a parent | ||||
| Physical Data Type | Lets you select a data type from the drop-down list to apply to the selected domain | If the selected data type requires a value for precision, scale, or both, enter the value inside the data type parentheses. | |||
| Physical Only | Specifies that the selected domain is only available in the physical model | ||||
| PostgreSQL | Domain Properties | Collation | Specifies an optional collation for the domain. If no collation is specified, the underlying data type's default collation is used. | ||
| Null Option | Specifies the usage of the NULL clause for the selected domain | Null: Indicates that null values are allowed Not Null: Indicates that null values are not allowed |
|||
| Constraint | Check Constraints | Use Inherited Constraint | Specifies whether the validation rule is inherited from the parent domain | ||
| Name | Specifies the name of the inherited validation rule to be attached to the selected domain | ||||
| Validation | Specifies the validation rule to attach to the selected domain | Available when Use Inherited Constraint is not selected. | |||
| Default | Use Inherited Default Value | Specifies whether the property is inherited from the parent domain | |||
| Name | Specifies the name of the default value to be attached to the selected domain | ||||
| Default | Specifies the default value to attach to the selected domain | Available when Use Inherited Default Value is not selected. | |||
| Definition | Specifies the detailed description or business meaning of the datatype standard |
ER Diagrams
| Tab | Section | Property | Description | Additional Information | ||||
|---|---|---|---|---|---|---|---|---|
| Properties | Name | Specifies the name of the ER diagram | ||||||
| Logical Physical View Mode | Specifies whether the diagram is displayed in logical or physical view | Logical: Specifies display of logical model elements Physical: Specifies display of physical database elements |
||||||
| Auto-populate | Indicates whether objects are automatically added to the diagram | |||||||
| General Options | Author | Specifies the author of the diagram | ||||||
| Optional Theme | Theme | Specifies the theme applied to the diagram | Classic Theme: Specifies standard visual styling DARK Theme: Specifies dark theme styling Default Theme: Specifies system default theme |
|||||
| Optional override to theme background fill | Fill Options | |||||||
| Members | Available Objects | Name | Specifies the name of the available object | |||||
| Type | Specifies the type of the available object | |||||||
| Included Objects | Name | Specifies the name of the included object in the diagram | ||||||
| Type | Specifies the name of the included object | |||||||
| Relationships | Available Relationships | Name | Specifies the name of the relationship | |||||
| Included Relationships | Name | Specifies the name of the included relationship | ||||||
| Layout | Manual Layout | Allow Manual Relationship Layout | Indicates whether relationship lines can be manually arranged | |||||
| Allow Manual Entity Resizing | Indicates whether entity can be manually resized | |||||||
| Grid Alignment | Align Objects to Grid | Aligns entities, tables, or views to the nearest vertical and horizontal gridlines | ||||||
| Alignment Grid Spacing | Defines the distance in pixels between the gridlines | |||||||
| Align Grid Color | Defines the grid color. | |||||||
| Visual Cues | Show Page Grid | Displays a grid for the diagram | ||||||
| Show Background | Displays a background for the diagram | |||||||
| Show Callout | Displays callouts for the relationship texts in the diagram | |||||||
| Selection Grips Color | Defines the color of the grip that surrounds a selected object |
Functions
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties | Name | Specifies the name of the function | |
| Use Replace Syntax | Specifies whether the REPLACE syntax is used | Selecting this option replaces the syntax with the new DDL generated during forward engineering. | ||
| Schema | Specifies the schema for the function | |||
| Generate | Specifies whether a SQL statement for the function is generated during forward engineering | |||
| General | Function Options | Language Type | Specifies the name of the language in which the function is implemented | Internal, c, Sql, User Defined: Specifies procedural languages of the function |
| Transform | Lists which transforms a call to the function should apply | |||
| Is Window | Indicates that the function is a window function rather than a plain function | |||
| Volatility | Informs the query optimizer about the behavior of the function | Immutable: Cannot modify the database, always returns the same result for the same arguments Stable: Cannot modify the database, consistently returns the same result within a single table scan Volatile: Value can change within a single table scan |
||
| Leak Proof | Indicates that the function has no side effects | LEAKPROOF: No side effects NOT LEAKPROOF: May throw an error based on argument values |
||
| Null_Input_Type | Called on null input: Function is called even when parameters are null Returns null on null input or Strict: Returns null when any parameter is null |
|||
| Security_Type | Specifies the privilege used to execute the function | Definer: Executed with the privileges of the user that owns it Invoker: Executed with the privileges of the user that calls it |
||
| External | Optional for SQL conformance, applies to all functions, not just external ones | |||
| Parallel | Specifies the mode of execution of the function | Unsafe: Cannot be executed in parallel mode Safe: Can run in parallel mode without restriction Restricted: Can be executed in parallel mode, but restricted to parallel group leader |
||
| Execution Cost | Specifies the estimated execution cost for the function | |||
| Returns Set | Indicates that the function will return a set of items rather than a single item | |||
| Result Row | Specifies the estimated rows the planner should expect the function to return | |||
| Support Function | Specifies the name of a planner support function to use for this function | Requires superuser role to use this function. | ||
| As Function Definition | Defines the function's meaning | |||
| Object File | Specifies the name of the file containing the dynamically loadable object for C language functions | |||
| Link Symbol | Specifies the function's link symbol | |||
| SQL Body | Specifies the body of a LANGUAGE SQL function | |||
| Returns Options | Function Type | Specifies the type of the function | Scalar, Table, Trigger, Type | |
| Return Data Type | Specifies the return data type of the function | |||
| Return Table Definition | Specify the referenced table | |||
| Return Table Column Specification | Specifies the schema of table columns that the function returns | |||
| Parameters | Parameters | Specifies the name of the parameter | ||
| Physical Data Type | Specifies the return data type of the parameter | |||
| Mode | Specifies the type of the parameter | |||
| Default Value | Specifies an expression that can be used as default value if the parameter is not specified | |||
| Variables | Name | Specifies the name of the variable | ||
| Variable Value | Specifies an expression to use as the variable value | |||
| Expanded | Displays the expanded code for the stored procedure, function, trigger, or package in read-only format. |
Languages
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | Properties | Name | Specifies the name of the language | |
| Use Replace Syntax | Specifies whether the REPLACE syntax is used | Selecting this option replaces the syntax with the new DDL generated during forward engineering. | ||
| Generate | Specifies whether a SQL statement for the language is generated during forward engineering | |||
| General Options | Is Trusted | Specifies that the language does not grant access to data that the user would not otherwise have | If omitted, only users with superuser privilege can use this language to create new functions. | |
| Procedural | Indicates whether the language is procedural | |||
| Call Handler | Specifies a previously registered function that executes procedural language functions | |||
| Inline Handler | Specifies a previously registered function that executes anonymous code blocks (DO commands) in this language | The handler function takes one argument of type internal, representing the DO command's internal representation. | ||
| Validator | Specifies the name of a previously registered function that validates new functions created in the language | The validator function takes one argument of type oid, representing the OID of the to-be-created function, and typically returns void. |
Materialized Views
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties | Name | Specifies the name of the materialized view | |
| Schema | Specifies the schema for the materialized view | Select a schema from the drop-down list or click New to create a new schema. | ||
| If Not Exists | Specifies if the materialized view already exists, no exception is thrown, and no action happens | |||
| Generate | Specifies whether a SQL statement for the materialized view is generated during forward engineering | |||
| General Options | Access Method | Specifies the table access method to use to store the contents for the new materialized view | ||
| Storage Parameters | Specifies optional storage parameters for the new materialized view | |||
| Tablespace | Specifies the name of the tablespace in which the new materialized view is to be created | |||
| With Clause | Defines properties for the materialized view creation | With No Data: Copies table structure only With Data: Copies produced data into the new table |
||
| Select | Available Tables and Views | Specifies a list of available tables and views | Select columns you want as view columns and click the arrow to move them. | |
| Columns | Specifies the columns selected from the available tables and views | |||
| Type | Specifies the expression type | |||
| Alias/Column | Specifies a temporary name given to a table, column, or expression present in a query | |||
| Expression/Value | Specifies the expression for a selected column | |||
| Create Expression | Enables you to add a new column | |||
| Delete | Enables you to delete a column | |||
| Additional Properties | Select Properties | Limit | Limits the number of rows returned | |
| Offset | Specifies the offset for query rows returned | |||
| Fetch | Retrieves rows from a query using a cursor | |||
| With Query | With Query | Hides any real table with the same name when used in the main query | ||
| Window | Window | Specifies window function behavior in the query's SELECT or ORDER BY clause | ||
| Locking Clause | Locking Clause | Specifies how data should be locked during a transaction |
Naming Standards
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Logical | Entity | Specifies the naming standard format for logical entity names |
Specifies how name components are constructed using predefined parts. Prime – Specifies the core noun or primary business term Modifier 1 (M1) – Specifies the first qualifier describing the prime Modifier 2 (M2) – Specifies the second qualifier providing additional context Class (C) – Specifies the type or classification of the object
|
|
| Attribute | Specifies the naming standard format for logical attribute names | |||
| Domain | Specifies the naming standard format for logical domain names | |||
| Physical | Table | Specifies the naming standard format for physical table names | ||
| Column | Specifies the naming standard format for physical column names | |||
| Domain | Specifies the naming standard format for physical domain names | |||
| Glossary | Word/Words | Specifies the business terms used to define naming standards | ||
| Abbreviation | Specifies the standardized abbreviation for a word | |||
| Alt Abbreviation | Specifies an alternate abbreviation for the word | |||
| P, M, M1, M2, C | Indicates the role of the word in the naming structure |
|
||
| Definition | Specifies the description or meaning of the glossary word | |||
| Definition | Specifies the detailed description or purpose of the naming standard | Use |
Relationships
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the relationship | ||
| Physical Name | Specifies the physical name used in the database | |||
| Parent Entity | Specifies the name of the parent entity | This field is read-only. | ||
| Child Entity | Specifies the name of the child entity | This field is read-only. | ||
| Harden Strategy | Specifies how inherited relationship properties are applied |
Inherit: Specifies that properties are inherited from the parent Override: Specifies that inherited properties can be modified Harden: Specifies that inherited properties are fixed |
||
| Generate | Specifies whether a SQL statement for the relationship is generated | |||
| Type Properties | Types | Specifies the type of relationship | Identifying
Non-Identifying |
|
| Relationship Properties | Parent-to-Child Phrase | Specifies the verb phrase describing the relationship from parent to child | ||
| Child-To-Parent Phrase | Specifies the verb phrase describing the relationship from child to parent | |||
| Cardinality Properties | Cardinality | Specifies the relationship cardinality between parent and child entities |
Zero, One, or More: Specifies optional many relationship One or More (P): Specifies mandatory many relationship Zero or One (Z): Specifies optional one relationship |
|
| Cardinality Value | Specifies the numeric representation of the cardinality | |||
| Role Name | Migrated Key/Index | Key Group | Specifies the key group that is migrated through the relationship | |
| Role Name Info | Role Name Info | Specifies the role name used to identify the relationship | ||
| Migrated Attribute | Indicates whether the attribute is migrated through the relationship | |||
| Role Name | Specifies the role name assigned to the migrated attribute | |||
| Ri Actions | RI Actions | Child Delete Rule | Specifies the action applied to child records when the parent is deleted |
Restrict: Prevents deletion if dependent records exist Cascade: Deletes dependent child records automatically Set Null: Sets foreign key values to null Set Default: Sets foreign key values to default No Action: Defers constraint handling |
| Child Insert Rule | Specifies the action applied when inserting child records | |||
| Child Update Rule | Specifies the action applied when updating child records | |||
| Parent Delete Rule | Specifies the action applied when deleting parent records | |||
| Parent Insert Rule | Specifies the action applied when inserting parent records | |||
| Parent Update Rule | Specifies the action applied when updating parent records | |||
| Match Option | Specifies the matching behavior for referential integrity |
Match Simple: Specifies simple matching of columns Match Full: Specifies full matching across all columns Match Partial: Specifies partial matching |
||
| Trigger Template | Trigger Template | Child Delete Trigger Template | Specifies the trigger template for child delete operations | |
| Child Insert Trigger Template | Specifies the trigger template for child insert operations | |||
| Child Update Trigger Template | Specifies the trigger template for child update operations | |||
| Parent Delete Trigger Template | Specifies the trigger template for parent delete operations | |||
| Parent Insert Trigger Template | Specifies the trigger template for parent insert operations | |||
| Parent Update Trigger Template | Specifies the trigger template for parent update operations |
Schemas
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
|
Name |
Specifies the name of the schema | |||
|
If Not Exists |
Specifies that if the schema already exists, no exception is thrown, and no action happens |
|||
|
Generate |
Specifies whether a SQL statement for the schema is generated during forward engineering |
|||
|
Session/Current User |
Specifies the session for user and role |
Current_Role: Returns the name of the currently active role (i.e., user or group) within the session. It reflects the role that is applicable for permission checking. It is equal to the session user by default, but it can be changed using the SET ROLE command. Current_User: Returns the name of the currently logged-in database user. It represents the user identifier applicable for permission checking. Like current_role, it is normally equal to the session user but can be changed using SET ROLE. Session_User: Returns the user's name who initiated the current database connection. Superusers can change this setting using SET SESSION AUTHORIZATION. |
||
|
Owner |
Specifies the role name of the user who will own the new schema. If not set, by default, it is set to the user executing the command |
|
||
|
Schema Element |
Specifies SQL statements which define an object to create within the schema |
CREATE SCHEMA accepts the clauses such as, CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE SEQUENCE, CREATE TRIGGER, and GRANT for object creations in separate commands. |
Sequences
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties |
Name |
Specifies the name of the sequence |
||
|
Schema |
Specifies the schema options for the schema generation |
|||
|
If Not Exists |
Specifies that if the sequence already exists, no exception is thrown, and no action happens |
|||
|
Generate |
Specifies whether a SQL statement for the sequence is generated during forward engineering |
|||
| General Options |
Is Temporary |
Specifies whether the sequence object is created only for this session and dropped when the session ends. While the temporary sequence exists, you cannot see existing permanent sequences with the same name in this session unless you reference them with schema-qualified names. |
|
|
|
Unlogged |
Selecting this option creates an unlogged sequence. A write-ahead log does not record changes to unlogged sequences. |
|
||
|
Data Type |
Specifies the data type of the sequence |
smallint: Requires 2 bytes of storage size and can store integers in the range of -32,768 to 32,767. It comes in handy for storing data like the age of people, the number of pages in a book, etc. integer: Requires 4 bytes of storage space and can store integers from -2, 147, 483, 648 to 2, 147, 483, 647. It is useful for storing data such as a country's population, the number of active users on a social media app, etc. bigint: Requires 8 bytes of storage size and can store integers in the range of -9, 223, 372, 036, 854, 775, 808 to +9, 223, 372, 036, 854, 775, 807. Note: Using the BIGINT type consumes a lot of space and slows down the database, so you should have a good reason to do so. It is useful for storing data such as the number of stars in a galaxy, scientific constants, etc. |
||
|
Increment By |
Specifies the value to add to the current sequence value to create a new value. |
Use a positive value to create an ascending sequence and a negative value to create a descending sequence. The default value is 1 |
||
|
Minimum Value |
Specifies the minimum value a sequence can generate |
|
||
|
No Min Value |
Use this keyword to set this behavior to the default |
|
||
|
Maximum Value |
Specifies the maximum value a sequence can generate |
|
||
|
No Max Value |
Use this keyword to set this behavior to the default |
|
||
|
Starting Value |
Specifies the starting value of the sequence |
|
||
|
Cache Capacity |
Specifies the number of sequence numbers to preallocate and store in memory for faster access. The minimum and default value is 1. |
|
||
|
Cycle Options |
Allows you to restart the value if the limit is reached |
TRUE: When the limit reaches, the next number is the minvalue or maxvalue. FALSE: Any calls to nextval after the sequence has reached its maximum value will return an error. |
||
|
Owned By |
Allows you to associate the table column with the sequence so that when you drop the column or table, PostgreSQL will automatically drop the associated sequence |
|
Servers
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | General Options | Name | Specifies the name of the server | |
| If Not Exists | Specifies that if the server already exists, no exception is thrown, and no action happens | |||
| Generate | Specifies whether a SQL statement for the server is generated during forward engineering | |||
| Server Type | Specifies the type of the server | |||
| Server Version | Specifies the server version | |||
| Wrapper_Name | Specifies the foreign data wrapper identifier | |||
| Options | Specifies the options for the server | The options typically define the connection details of the server, but the actual names and values depend on the server's foreign-data wrapper. |
Stored Procedures
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties | Name | Specifies the name of the stored procedure | |
| Schema | Specifies the schema options for the schema generation | Select the schema from the drop-down list. | ||
| Use Replace Syntax | Specifies whether the REPLACE syntax is used | |||
| Generate | Specifies whether a SQL statement for the procedure is generated during forward engineering | |||
| Procedure Options | Language Type | Specifies the language in which the procedure is written |
Internal, c, Sql, User Defined: Specifies procedural languages of procedure |
|
| Transform | Lists that transform a call to the procedure should apply. Transforms convert between SQL types and language-specific data types. | |||
|
Security_Type |
Specifies the privilege used when calling the procedure |
Definer: Indicates that it must use the privileges of the account that defined the procedure Invoker: Indicates that the privileges of the account that invokes the procedure must be used |
||
|
External |
Specifies SQL conformance support for procedures |
|
||
|
As Stored_Procedure Definition |
Specifies a string constant that defines the procedure |
It can represent an internal procedure name, a path to an object file, an SQL command, or procedural language text. |
||
|
Object File |
Specifies the name of the file containing the dynamically loadable object for C language procedures |
|
||
|
Link Symbol |
Specifies the procedure’s link symbol |
Represents the name of the procedure in the C source code. If not specified, it defaults to the name of the SQL procedure being defined. |
||
|
SQL Body |
Specifies the body of a LANGUAGE SQL procedure |
|
||
| Parameters |
Parameters |
Specifies the name of the parameter |
|
|
|
Physical Data Type |
Specifies the return data type of the parameter |
|
||
|
Mode |
Specifies the type of the parameter |
|
||
|
Default Value |
Specifies an expression for a default value if the parameter is not provided. |
This expression must match the argument type of the parameter. Only input (including IN OUT) parameters can have a default value. |
||
| Variables |
Variables |
Specifies the name of the variable |
|
|
|
Variable Value |
Specifies an expression to use as the variable value |
|
||
|
SQL |
|
|
Lets you preview the SQL code used during Forward Engineering |
Use the toolbar to save, print, find and replace, and cut, copy, or paste text |
Subject Areas
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the subject area | ||
| Auto Populate | Indicates whether objects are automatically added to the subject area | |||
| General | Common Properties | Author | Specifies the author of the subject area | |
| Exclude Dangling Relationships From Schema generation | Indicates whether incomplete relationships are excluded from schema generation | |||
| Optional Theme | Theme | Specifies the theme applied to the subject area. |
Classic Theme: Specifies standard visual styling DARK Theme: Specifies a dark visual theme Default Theme: Specifies the system default theme |
|
| Members | Available Objects | Name | Specifies the name of the available object | |
| Type | Indicates the type of object | |||
| Included Objects | Name | Specifies the name of the object included in the subject area | ||
| Type | Indicates the type of the included object | |||
| Definition | Specifies the detailed description or purpose of the subject area | Use |
Tables
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Table Properties | Harden Strategy | Specifies how inherited table properties are applied |
|
| Name | Name | |||
| Physical Name | ||||
| Schema | Specifies the schema in which the table is created | |||
| Foreign Table | ||||
| Create Table As | ||||
| Generate | Indicates whether the table is included in script generation | |||
| General Options | Table Type |
Specifies the type of the table |
Temporary: Temporary tables are tables that are visible and accessible only within the session in which you create them. Global Temporary: The GLOBAL keyword is accepted for SQL-standard compatibility but has no effect in PostgreSQL. The table behaves as a standard temporary table that is visible only within the current session. Local Temporary: The LOCAL keyword is accepted for SQL-standard compatibility but has no effect in PostgreSQL. The table behaves as a standard temporary table that is visible only within the current session. Unlogged: Prioritize write speed by skipping data logging, enhancing write performance. However, this sacrifices data durability and replication, risking data loss in system failures. |
|
| Access Method | Specifies the access method for the table | |||
| Storage Parameter | Specifies optional storage parameters for a table or index. | |||
| Without OIDS | Using this syntax, you can declare a table WITHOUT OIDS. You can't create a table WITH OIDS using this syntax. | |||
| Commit Type | Specifies the type of commit |
Delete Rows: At the end of each transaction block, the temporary table automatically deletes all its rows. Essentially, it performs a TRUNCATE operation at each commit. However, this operation is not cascaded to the partitions of a partitioned table when used on one. Preserve Rows: The default behavior is to take no special action at the end of transactions. Drop: The temporary table will drop at the end of the current transaction block. When you use it on a partitioned table, this action drops its partitions, and when you use it on tables with inheritance children, it drops the dependent children. |
||
| Tablespace | Specifies a tablespace for the table | |||
| Owner | Specifies the database role that owns the table | |||
| Other Options | Inherit Table List | Specifies a list of tables from which the new table automatically inherits all columns | ||
| Of Type | Creates a typed table, which takes its structure from the specified composite type (name optionally schema-qualified). A typed table is tied to its type, for example, the table will be dropped if the type is dropped (with DROP TYPE ... CASCADE). | |||
| Parent Table | Specifies columns, constraints, and indexes that are common across a set of child tables | |||
| Foreign Table Options | Server | Specifies foreign servers defined in the current database | Available only when the Foreign Table check box is selected | |
| Options | Specifies the options defined for foreign servers in the current database | Available only when the Foreign Table check box is selected | ||
| Point | Specifies the reference point used for cloning | |||
| Columns | Name | Specifies the column name | ||
| Physical Data Type | Specifies the datatype of the column | |||
| Type | Indicates the column type classification. | |||
| Null Option Type | Indicates whether null values are allowed for the column | |||
| Partitions | Partition Type | Partition Type | Specifies the type of partitions |
Range: This type of partitioning assigns rows to partitions based on column values falling within a given range List: The table is partitioned by explicitly listing which key value(s) appear in each partition. Hash: To partition the table, you specify a modulus and a remainder for each partition. Each partition holds the rows where dividing the hash value of the partition key by the specified modulus produces the specified remainder |
|
Partition Columns |
Selected | |||
| Column | Specifies the name of the partition column | |||
|
Collation |
Assign a collation to the column (which must be of a collatable data type). If not specified, it uses the default collation of the column's data type. |
|||
|
OpClass |
Specifies that a particular operator family applies to a particular indexable column data type |
|||
|
Partition Expression |
Expression | Specifies the name of the column name or expression | ||
| Collation |
Specifies the name of the collation |
|||
| OpClass | Specifies an index access method operator classes. | |||
| Partitions | From Partition Bound Expression | Specifies the range partition | ||
|
To Partition Bound Expression |
Specifies the range partition |
|||
|
In Partition Bound Expression |
Specifies list partition |
|||
|
Modulus Value |
Specifies each partition of the table, which must be a positive integer |
|||
|
Remainder Value |
Specifies each partition of the table, which must be a non-negative integer less than the modulus |
|||
|
Is Default |
Specify DEFAULT to make the table the default partition of the parent table |
|||
| Like Table | Like Table Options | Specifies a table from which the new table automatically copies all column names, their data types, and their not-null constraints |
Name: Specifies the name of the table Including Comments: Copies columns, constraints, and indexes. Including Compression: Copies compression method of columns. Including Constraints: Copies CHECK constraints from the original table to the new one. Also, it always copies not-null constraints to the new table. Including Defaults: Copies default expressions for the copied column definitions. Including Generated: Copies any generation expressions from the original column definitions to the new table. By default, the new columns will be standard base columns. Including Identity: Copies identity specifications from the original column definitions to the new table. It creates a new sequence for each identity column in the new table, different from those linked to the old table. Including Indexes: Copies indexes, PRIMARY KEY, UNIQUE, and EXCLUDE constraints from the original table to the new table Including Statistics: Copies extended statistics to the new table. Including Storage: Copies the STORAGE settings for the copied column definitions. Including All: Includes all available individual options Excluding Comments: Removes columns, constraints, and indexes. Excluding Compression: Removes compression method of columns. Excluding Constraints: Removes CHECK constraints from the original table and moves them to the new one. Also, it always copies not-null constraints to the new table. Excluding Defaults: Removes default expressions for the copied column definitions. Excluding Generated: Removes any generation expressions from the original column definitions to the new table. By default, the new columns will be standard base columns. Excluding Identity: Removes any identity specifications from the original column definitions to the new table. It creates a new sequence for each identity column in the new table, different from the sequences linked to the old table. Excluding Indexes: Removes indexes, PRIMARY KEY, UNIQUE, and EXCLUDE constraints from the original table to the new table. Excluding Statistics: Removes extended statistics to the new table. Excluding Storage: Removes the STORAGE settings for the copied column definitions. Excluding All: Excludes all available individual options |
|
| Select | With Clause | With Clause |
Defines properties for the table creation |
With No Data: Specifies whether the query should copy the table structure into the new table With Data: Specifies whether the query should copy the produced data into the new table. |
| Select Statement | Select Statement | Specifies the select statement to select tables and columns | ||
| Validation | Validation | Displays the constraint associated with a validation rule. You can use the toolbar to sort the validation rule list or to create or delete validation rules | ||
| Validation Rule | Displays the validation rule associated with the constraint. The drop-down list contains all the validation rules currently assigned to the table. You can select a different validation rule to associate with the constraint by clicking on the drop-down | |||
| No inherit | Removes the target table from the list of children of the specified parent table. | |||
| SQL | Displays the SQL definition of the function |
Provides a built-in editor to view and manage the SQL definition. The following options are available: Fold All / Unfold All – Specifies options to collapse or expand the SQL content Go to Line – Specifies navigation to a specific line in the script Validate – Specifies validation of the SQL syntax Read Only – Indicates whether the SQL editor is in read-only mode SQL – Indicates whether editing mode is enabled |
||
|
Nullability
|
Nullable Members
|
Columns |
Specifies whether a table column has null values and is nullable |
|
|
Null Option |
Specifies that NULL values are allowed in nullable columns. |
Columns
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties |
Primary Key |
Specifies to designate the selected column as a primary key column. Select the check box to enable this option |
|
|
Foreign Key |
Specifies to designate the selected column as a foreign key column. Select the check box to enable this option |
|||
|
Physical Only |
Specifies whether the column is suppressed from a logical model (as an attribute) and appears in a physical model only |
|||
| SDI | Specifies whether the asset is sensitive | |||
| General Options |
Domain Parent |
Specifies the domain parent of the column |
||
|
Name |
Specifies the name of the domain |
|
||
|
Physical Name |
Specifies the physical name of the column |
|
||
|
Harden Strategy |
Specifies several parameters and practices aimed at enhancing security and reliability |
Inherit: Specifies to inherit the column physical name, physical data type, or null option setting Override: Specifies to override inheritance for the column physical name, physical data type, or null option setting Harden: Specifies to harden the column physical name |
||
|
Physical Data Type |
Specifies the physical data type for the selected column. Select a physical data type from the drop-down list. |
|
||
|
Null Option |
Specifies the usage of the NULL clause for the selected column |
Null: Indicates that null values are allowed Not Null: Indicates that null values are not allowed |
||
| Constraint |
Use Inherited Constraint |
Specifies whether the validation rule is inherited from the column domain |
||
|
Name |
Specifies the name of the inherited validation rule to be attached to the selected column |
Available when Use Inherited Constraint is not selected | ||
|
Validation |
Specifies the validation rule to attach to the selected column |
|||
|
Use Inherited Default Value |
Specifies whether the property is inherited from the column domain |
|||
|
Name |
Specifies the name of the default value to be attached to the selected column |
Available when Use Inherited Default Value is not selected | ||
|
Default |
Specifies the default value to attach to the selected column |
|||
| Column Options |
Storage Strategy |
Specifies the storage mode for the column |
Plain: Used for fixed-length values such as integers, which are in-line and uncompressed. External: Used for external, uncompressed data Extended: Used for external, compressed data Main: Used for in-line, compressible data Default: Sets the storage mode to the default mode for the column's data type |
|
| PostgreSQL |
Compression Method |
Sets the compression method for the column. Supported only for variable-width data types and is used only when the column's storage mode is main or extended |
pglz: Uses a traditional, lightweight compression algorithm called pglz, which compresses column data when specified. Iz4: Iz4 is a faster compression algorithm compared to pglz, offering a slightly lower compression ratio. It is known for its high speed and efficiency, and when specified, PostgreSQL compresses column data. default: PostgreSQL defaults to use the pglz compression method for databases or tables, unless otherwise configured. |
|
|
Collation |
Specifies a collation to assign to the column, which must be of a collatable data type. If not specified, it uses the default collation of the column's data type. Select an existing collation from the drop-down list. |
|
||
|
With Options |
Enables you to specify storage-related parameters that regulate the management and storage of data in that column. |
|
||
|
Of Type |
Creates a typed table, which takes its structure from the specified composite type (name optionally schema-qualified). |
|
||
| General Options |
Generation Expression |
Specifies the expression used to compute the value for the column |
|
|
|
Generated Identity |
Specifies whether or not the column is the identity column for the selected table |
|
||
|
Generated Type |
|
Always: Determine how explicitly user-specified values are handled in INSERT and UPDATE commands. By Default: Determine how explicitly user-specified values are handled in INSERT and UPDATE commands. |
||
|
Increment By |
Specifies the number by which the column value increments |
|
||
|
Starting Value |
Specifies the first value for the identity column |
|
||
|
Minimum Value |
Specifies the minimum value a column can generate |
|
||
|
No Min Value |
Use this keyword to set this behavior to the default |
|
||
|
Maximum Value |
Specifies the maximum value a column can generate |
|
||
|
No Max Value |
Use this keyword to set this behavior to the default |
|
||
|
Cache Capacity |
Specifies the number of sequence numbers to preallocate and store in memory for faster access. The minimum and default value is 1. |
|
||
|
Cycle Options |
Specifies whether to restart the value if the limit is reached |
True: When the limit reaches, the next number is the minvalue or maxvalue. False: Any calls to nextval after the sequence has reached its maximum value will return an error |
||
| Shortcut | Allow Name Edits in Clone | Indicates whether name changes are allowed in clones. | ||
| Allow Comment Edits in Clone | Indicates whether comments can be modified in clones | |||
| Allow Parent Domain Edits in Clone | Indicates whether parent domains can be modified in clones | |||
| Allow Data Type Edits in Clone | Indicates whether data types can be modified in clones | |||
| Allow Null Option Edits in Clone | Indicates whether null options can be modified in clones |
Indexes
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties |
Physical Name |
Displays the physical name of the table index |
|
|
Type |
Displays the table's index type |
|
||
|
Is Unique |
Specifies to allow only unique values in the table index. Clear this check box to allow non-unique values |
|
||
|
Exclude |
Prevents two rows from having the same values in a table, depending on the operator used |
|
||
|
If Not Exists |
Specifies if the table index already exists, no exception is thrown, and no action happens |
|
||
|
Physical Only |
Specifies whether to have the index appear in the physical model only. If you want the index to appear in the logical model as a key group, clear the check box |
Note: This option is unavailable when a primary or foreign key index is selected. |
||
|
Generate |
Generates SQL during forward engineering. Clear the check box if you do not want to generate SQL |
|
||
|
Generate As Constraint |
Indicates that when the index is generated, it will be generated as a constraint |
|
||
| Also Include | Also Include |
Allows adding non-indexed columns to the index, known as "payload." This optimization provides necessary columns directly from the index, avoiding table lookups. |
|
|
| Storage Options |
Storage Parameters |
The name of an index method-specific storage parameter. |
||
|
Tablespace |
Specifies the tablespace in which the new index is to be created. If not specified, default tablespace is consulted, or temp tablespaces if the table is temporary. Select an existing tablespace from the drop-down list. |
|||
| Constraint Options |
Deferrable |
Allows deferring constraint checks until the end of the transaction |
Deferrable: Controls whether the index is deferrable Not Deferrable: Controls whether the index is not deferrable |
|
|
Deferred |
Specifies that the constraint should initially be checked at the end of the transaction |
Initially Deferred: Indicates that the index should be checked only at the end of the transaction Initially Immediate: Indicates that the index should be checked after each statement |
||
| Members | Index Members |
Column |
Specifies the column on which the index is based |
Table Spaces
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | General Options | Name | Specifies the name of the tablespace | |
| Generate | Specifies whether a SQL statement for the tablespace is generated during forward engineering | |||
| Session/Current User | Specifies the session for user and role |
Current_Role: Specifies the current role Current_User: Specifies the user identifier used for permission checking. Usually, it equals the session user, but you can change it with SET ROLE. Session_User: Specifies the user who initiated the current database connection; however, superusers can change this setting with SET SESSION AUTHORIZATION. |
||
| Owner | Specifies the role or user that owns the tablespace | Select the owner from the drop-down list. | ||
|
Location |
Specifies the directory to use for the tablespace |
The directory should be empty and owned by the PostgreSQL system user. Specify the directory in the absolute path name format. |
||
|
Tablespace Option |
Specifies tablespace parameters to be set or reset |
|
Themes
Note: These properties are applicable to the Classic, Dark, and Default themes. All themes provide the same configuration options for customizing fonts, colors, fill, lines,
| Tab | Section | Property | Description |
|---|---|---|---|
| Properties | Name | Specifies the name of the theme | |
| Diagram Fill | Specifies the background color of the diagram canvas | ||
| Entity Fill | Specifies the background color of the diagram canvas | ||
| FK Attribute Font | Specifies the font style applied to foreign key attribute | ||
| FK Attribute Fill | Specifies the fill color for foreign key attributes | ||
| Default Font | Specifies the default font used across the theme | ||
| Entity Font | Specifies the font used for entity names | ||
| Attribute Font | Specifies the font used for attribute names | ||
| Defaults | Font Settings | Font Options | Specifies the default font configuration for diagram elements |
| Fill Settings | Fill Options | Specifies the default fill color settings | |
| Line Settings | Line Options | Specifies the line style for relationships and connectors | |
| Outline Settings | Outline Options | Specifies the border style for diagram objects | |
| Diagram Fill | Fill Options | Specifies the default background color of the diagram | |
| Entity | Name Display | Font Options | Specifies the font used to display entity names |
| Fill Options | Specifies the background color for entity names | ||
| Outline Options | Specifies the border styling for entity name display | ||
| Definition Display | Font Options | Specifies the font used for displaying entity definitions | |
| Fill Options | Specifies the background color for definitions | ||
| Outline Options | Specifies the border styling for definition sections | ||
| Attribute | Owned Attribute Font | Font Options | Specifies the font applied to owned (non-key) attributes |
| Foreign Key Style Inheritance | Font Inheritance Type | Specifies whether foreign key attributes inherit font settings | |
| Color Inheritance Type | Specifies whether foreign key attributes inherit color settings | ||
| Foreign Key Attribute Font | Font Options | Specifies the font used for foreign key attributes | |
| Foreign Key Attribute Color | Color | Specifies the color applied to foreign key attributes | |
| Key | Key Display Preference | Style Preference | Specifies how key styles are displayed when multiple key types apply |
| Alternate Key (AK) Attribute Font | Font Options | Specifies the font used for alternate key attributes | |
| Inversion Entry (IE) Attribute Font | Font Options | Specifies the font used for inversion entry attributes | |
| View | Name Display | Font Options | Specifies the font used to display view names |
| Fill Options | Specifies the background color for view names | ||
| Outline Options | Specifies the border styling for view name display | ||
| Definition Display | Font Options | Specifies the font used for view definitions | |
| Fill Options | Specifies the background color of the definition section | ||
| Outline Options | Specifies the border styling for the definition section | ||
| Attribute Display Fonts | Font Options (Left / Right panels) | Specifies the font used for displaying attributes within views | |
| Relationship | Style Inheritance | Relationship Font Inherited From Parent | Indicates whether the relationship text font is inherited from the parent object |
| Relationship Line Color Inherited From Parent | Indicates whether the relationship line color is inherited from the parent element | ||
| Relationship Text Color Inherited From Line | Indicates whether the relationship text color follows the line color | ||
| Relationship Text Font | Font Options | Specifies the font used for relationship labels | |
| Relationship Text Color | Color | Specifies the color used for relationship text | |
| Relationship Line Style | Line Width | Specifies the thickness of relationship lines | |
| Color | Specifies the color of relationship lines | ||
| Subtype Symbol | Style Inheritance | Subtype Symbol Font Inherited From Parent | Indicates whether subtype symbol font is inherited from the parent |
| Subtype Symbol Line Color Inherited From Parent | Indicates whether the subtype symbol line color is inherited | ||
| Subtype Symbol Text Color Inherited From Line | Indicates whether subtype symbol text color follows the line color | ||
| Subtype Symbol Text Font | Font Options | Specifies the font used for subtype symbols | |
| Subtype Symbol Text Color | Color | Specifies the color of subtype symbol text | |
| Subtype Symbol Style | Line Width | Specifies the thickness of subtype symbol lines | |
| Color | Specifies the color used for subtype symbol lines | ||
| Fill Options | Specifies the fill color for subtype symbols | ||
| Annotation/Shape | Annotation/Shape Text Font | Font Options | Specifies the font used for annotation and shape text |
| Annotation/Shape Text Handling | Annotation Text Vertical Alignment | Specifies the vertical alignment of annotation text | |
| Annotation Text Horizontal Alignment | Specifies the horizontal alignment of annotation text | ||
| Annotation Text Handling Style | Specifies how text is displayed within shapes | ||
| Annotation/Shape Fill | Fill Options | Specifies the background color of annotation or shape objects | |
| Annotation/Shape Line | Line Options | Specifies the line style used for annotation borders | |
| Specifies the line style used for annotation borders. | Outline Options | Specifies the outline style for annotation shapes |
User Defined Types
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| General | Type Options |
Name |
Specifies the name of the user-defined type |
|
|
Schema |
Specifies the schema of the database to which the user-defined type belongs |
Select the schema from the drop-down list or click to create a new object |
||
|
Generate |
Specifies whether a SQL statement is generated during forward engineering |
|
||
|
UDT Type |
Specifies the user-defined type |
Base Type: Specifies that base types are fundamental scalar data types implemented at a low level, typically in a language like C. These base types serve as the building blocks for more complex data structures. Note: Ensure that you have superuser access to create a new base type. Enumerated Type: Enumerated (enum) types are data types that comprise a static, ordered set of values. They are equivalent to the enum types supported in several programming languages. An example of an enum type might be the days of the week or a set of status values for a piece of data. Range Type: Allows you to represent a range of values for a specific underlying data type. These ranges are useful for scenarios where you need to express intervals or spans of values. Composite Type: Allows you to define custom data structures with multiple fields. These fields can be any built-in or user-defined types, including other composite types. Domain Type: Domain type builds upon an existing underlying type. It allows you to create a custom type with specific constraints. Pseudo Type: The PostgreSQL type system contains several special-purpose entries collectively called pseudo-types. A pseudo-type cannot be used as a column data type but can be used to declare a function's argument or result type. Each of the available pseudo-types is useful when a function's behavior does not correspond to simply taking or returning a value of a specific SQL data type. |
||
| Columns |
Name |
Specifies the name of the user-defined type's attribute |
||
|
Physical Data Type |
Specifies the physical data type for the selected column |
|||
| Type | Specifies the type for the selected column | |||
|
Null Option Type |
Specifies the null option type |
Null: Indicates that null values are allowed |
Validation Rules
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Name | Specifies the name of the validation rule | ||
| Physical Name | Specifies the physical name of the validation rule | |||
| Type | Specifies the type of the validation rule |
User-Defined MinMax Valid Values |
||
| Physical Only | Specifies that the validation rule only applies to a physical model | |||
| Expression | Expression | Specifies the constraint condition for a table or column as a boolean expression |
Views
| Tab | Section | Property | Description | Additional Information |
|---|---|---|---|---|
| Properties | Properties | Name | Specifies the name of the view | |
| Schema | Specifies the schema options for the schema generation | Select the schema from the drop-down list. | ||
| Use Replace Syntax | Specifies whether the REPLACE syntax is used | Selecting this option replaces the syntax with the new DDL that is generated during Forward Engineering | ||
| Generate | Specifies whether a SQL statement for the view is generated during forward engineering | |||
| View OPtions | Temporary | Indicates that the view is created as a temporary view. Temporary views are automatically dropped at the end of the current session. If any tables referenced by the view are temporary, the view is created as temporary | ||
| Recursive | Indicates that the view is recursive | |||
| Security Barrier | Indicates that the view provides row-level security | |||
|
Security Invoker |
Indicates that this option causes the underlying base relations to be checked against the privileges of the user of the view rather than the view owner |
|
||
| Select |
Available Tables and Views |
Specifies a list of available tables and views |
Under Available Tables and Views, select the columns you want to define as view column and then click |
|
|
Columns |
Specifies the columns selected from the available tables and views |
|
||
|
New |
Enables you to add a view column |
|||
|
Delete |
Enables you to delete a view column |
|||
| From |
Available Tables and Views |
Specifies a list of available tables and views. |
Under Available Tables and Views, select the tables or views from which you want to select view columns and then, click Forward. |
|
|
From |
Specifies the selected tables and views |
|
||
|
Alias |
Specifies an alternate name for the selected table or view |
Note: This option is available only when you select a table or view in the From list. An alias is typically a new name that is more appropriate in the context of the view. |
||
| Where |
Where |
Where |
Specifies the boolean expression of the Where clause |
|
|
Group By |
Group By |
Specifies the grouping expression that defines how the rows are grouped together |
|
|
|
Having |
Having |
Specifies the boolean expression of the Having clause |
|
|
|
Order |
Order |
Specifies the expression of the Order By clause |
|
|
|
Restriction Clause |
Restriction |
Specifies the With Check Option for the view column. |
With Check Option: Indicates that all modifications made through the view to the underlying tables satisfy the definition of the view. With Cascaded Check Option: Indicates that all underlying views undergo the check testing. With Local Check Option: Indicates that the check testing is restricted only to the views being defined. |
|
|
User Defined SQL |
|
User-Defined SQL |
Specifies whether the SQL code used in Forward Engineering is defined using the User Defined SQL tab |
You can use the toolbar options to cut, copy, or paste text, open the Macro Toolbox, or work with the Text Editor. |
| Additional Properties | Select Properties |
Limit |
Limits the number of rows returned |
|
|
Offset |
Specifies the number of rows to skip before the query starts returning rows |
|||
|
Fetch |
Retrieves rows from a query using a cursor |
|||
|
With Query |
With Query |
Hides any real table with the same name when used in the main query. To reference a real table with the same name, specify the table's schema along with its name. You can also assign an alias to the WITH query, similar to a table. |
||
|
Window |
Window |
Specifies window function behavior in query's SELECT or ORDER BY clause, referencing WINDOW clause entries in OVER clauses. It saves typing for multiple window functions. |
||
|
Locking Clause |
Locking Clause |
Specifies how data should be locked during a transaction. It allows you to control concurrent access to data by explicitly acquiring locks on tables or rows |
To view the common object properties that are supported in PostgreSQL, refer Common Object Properties.
For more information about specific PostgreSQL property values, refer to the PostgreSQL database documentation.
RE Parameters
Following sections explain the reverse engineering options for PostgreSQL.
Overview
| Parameter | Description | Additional Information |
|---|---|---|
|
Reverse engineer source |
Specifies the reverse engineering source | Database: Indicates that the model is reverse engineered from a database Script File: Indicates that the model is reverse engineered from a script file You can use AI to generate a new script for reverse engineering using natural language prompt and to validate DDL scripts. |
| Type | Logical/Physical , Physical | |
| Script file | Specifies the script file's location | This option is available when the Script File option is selected. Click Browse and select a script file from your directory. |
Connection
| Parameter | Description | Additional Information |
|---|---|---|
| Database | Specifies the database to which you want to connect | |
| Version | ||
| Authentication | Specifies the type of authentication to use to establish a connection |
Database Authentication: Indicates that database access credentials are used to establish a connection for reverse engineering. |
| User Name | Specifies the user name to access the database | Available when Database Authentication is selected. |
| Password | Specifies the password to access the database | |
| Connection Type | Specifies the type of connection you want to use. Select JDBC to connect using JDBC. | |
| Connection String |
Specifies the connection string for PostgreSQL database server in the following formats: jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database |
This option is available when Connection Method is set to JDBC. |
| Database | Specifies the name of the database to which you want to connect | This option is available when Connection Method is set to JDBC. |
Schemas
| Parameter | Description | Additional Information |
|---|---|---|
| Available Schemas | Specifies a list of available schemas | |
| Selected Schemas | Specifies a list of selected schemas for reverse engineering |
Tables
| Parameter | Description | Additional Information |
|---|---|---|
| Available Tables | Specifies a list of available tables in the selected databases for reverse engineering | |
| Selected Tables | Specifies a list of selected tables for reverse engineering |
Views
| Parameter | Description | Additional Information |
|---|---|---|
| Available Views | Specifies a list of available views | |
| Selected Views | Specifies a list of selected views for reverse engineering |
Materialized Views
| Parameter | Description | Additional Information |
|---|---|---|
| Available Materialized Views | Specifies a list of available materialized views | |
| Selected Materialized Views | Specifies a list of selected materialized views for reverse engineering |
Options
| Parameter | Description | Additional Information |
|---|---|---|
| Options | Specifies the objects to be reverse engineered according to the selected option set. You can edit this list. |
FE Parameters
Following sections explain the forward engineering options for PostgreSQL.
Option Selection
| Parameter | Description | Additional Information |
|---|---|---|
| Object Type | Specifies the type of objects selected for forward engineering. | |
| Properties | Specifies the properties associated with the selected object type. |
Owner Override
| Parameter | Description | Additional Information |
|---|---|---|
| Object Name | Displays available objects for owner override |
Enter an owner name to the Global Override object to override all assignments for the listed object groups. |
| Owner Override | Specifies the owner name to override assignments of the owner for that object group |
Object Filter
| Parameter | Description | Additional Information |
|---|---|---|
| Object | Specifies the selected objects such as tables, documents, user types, and views for the schema generation. | |
| Select all | Indicates selection of all available objects | |
| Deselect all | Indicates removal of selection from all objects | |
| Invert Selection | Indicates reversal of the current selection | |
| Change display mode | Indicates switching between different object display views | Logical Names: Indicates that only logical names of the tables are included in the generated schema. Physical Names: Indicates that only physical names of the tables are included in the generated schema. Physical Names, show owner: Indicates that physical names and owners of the tables are included in the generated schema. |
| Full screen | Indicates expansion of the object selection panel to full screen |
Preview
| Parameter | Description | Additional Information |
|---|---|---|
| Text | Displays the schema in the text editor |
Commit to Git: Use this option to commit the FE script to a Git repository. Save: Use this option to save the generated schema. Find: Use this option to search through the generated schema. Print: Use this option to print the generated schema. Copy: Use this option to copy the selected text in the schema. Replace: Use this option to find and replace text in the generated schema. Full Screen: Use this option for full screen mode. |
Connection
| Parameter | Description | Additional Information |
|---|---|---|
| Database | Specifies the database to which you want to connect | |
| Version | ||
| Authentication | Specifies the type of authentication to use to establish a connection |
Database Authentication: Indicates that database access credentials are used to establish a connection for forward engineering. |
| User Name | Specifies the user name to access the database | Available when Database Authentication is selected. |
| Password | Specifies the password to access the database | |
| Connection Type | Specifies the type of connection you want to use. Select JDBC to connect using JDBC. | |
| Connection String |
Specifies the connection string for PostgreSQL database server in the following formats: jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database |
This option is available when Connection Method is set to JDBC. |
| Database | Specifies the name of the database to which you want to connect | This option is available when Connection Method is set to JDBC. |